package com.itheima.linkNode;

import com.itheima.util.ListNode;

public class LeetCode876 {
    //给你单链表的头结点 head ，请你找出并返回链表的中间结点。
    //
    //如果有两个中间结点，则返回第二个中间结点。
    //明显的双指针
    public ListNode middleNode(ListNode head) {
        if(head == null){
            return null;
        }
        if(head.next == null){
            return head;
        }
        ListNode slow = head;
        ListNode fast = head;

        while (fast.next.next != null){
            slow = slow.next;
            fast = fast.next.next;
            if(fast.next == null){
                return slow;
            }
        }
        return slow.next;
    }


}
